﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using EntidadesCompartidas;
using Logica;

namespace Smart_House_System.Administrador
{
    public partial class AltaCasa : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            List<Casa> _casas = null;
            try
            {
                lblError.Text = "";
                _casas = FabricaLogica.getLogicaCasa().ListarCasas();
                grdLista.DataSource = _casas;
                grdLista.DataBind();
                if (txtDir.Text != "")
                {
                    int i = 0;
                    for (int ind = 0; ind < grdLista.Rows.Count; ind++)
                    {
                        string dirVal = grdLista.Rows[ind].Cells[1].Text.ToString();
                        if (!dirVal.Contains(txtDir.Text))
                        {
                            grdLista.Rows[i].Visible = false;
                        }
                        i++;
                    }
                }
            }
            catch (Exception ex)
            {
                lblError.Text = ex.Message;
            }

        }

        protected void grdLista_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "Seleccionar")
                {
                    int index = Convert.ToInt32(e.CommandArgument.ToString());
                    string aux = grdLista.Rows[index].Cells[0].Text;
                    Casa a = FabricaLogica.getLogicaCasa().BuscarCasa(int.Parse(aux));
                    gridUsuarios.DataSource = FabricaLogica.getLogicaUsuario().ListarUsuariosXcasa(a);
                    gridUsuarios.DataBind();
                    ImageCasa.ImageUrl = "";
                }
                else
                {
                    if (e.CommandName == "Eliminar")
                    {
                        List<Casa> _casas = null;
                        int index = Convert.ToInt32(e.CommandArgument.ToString());
                        string aux = grdLista.Rows[index].Cells[0].Text;
                        Casa cc = new Casa();
                        cc.Id = int.Parse(aux);
                        FabricaLogica.getLogicaCasa().EliminarCasa(cc);
                        _casas = FabricaLogica.getLogicaCasa().ListarCasas();
                        grdLista.DataSource = _casas;
                        grdLista.DataBind();
                        ImageCasa.ImageUrl = "";
                    }
                    else
                        if (e.CommandName == "Ver Imagen")
                        {
                            string _mensajito = "";
                            int index = Convert.ToInt32(e.CommandArgument.ToString());
                            if (grdLista.Rows[index].Cells[0].Text == "")
                            {
                                _mensajito = "Ingresar ID.";
                            }
                            else
                            {
                                int parametro = Convert.ToInt32(grdLista.Rows[index].Cells[0].Text);
                                Casa _laCasa = null;
                                _laCasa = FabricaLogica.getLogicaCasa().BuscarCasa(parametro);
                                if (_laCasa == null)
                                {
                                    _mensajito = "NO existe CASA con esa ID";

                                }
                                else
                                {
                                    string vol = _laCasa.Foto;
                                    string sinJ = vol;// vol.Remove(0, 40);
                                    ImageCasa.ImageUrl = sinJ;
                                }
                            }
                            lblError.Text = _mensajito;
                        }
                }
            }
            catch (Exception ex)
            {
                lblError.Text = ex.Message;
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            if (txtDir.Text != "")
            {
                int i = 0;
                for (int ind = 0; ind < grdLista.Rows.Count;ind++ )
                {
                    string dirVal = grdLista.Rows[ind].Cells[1].Text.ToString();
                    if (!dirVal.Contains(txtDir.Text))
                    {
                        grdLista.Rows[i].Visible = false;
                    }
                    i++;
                }
            }
        }
    }
}